package com.tosee.process;

import java.util.List;

import com.tosee.exception.GeneriqueException;
import com.tosee.model.allocine.AlloEpisode;
import com.tosee.model.allocine.AlloSaison;
import com.tosee.model.allocine.AlloSerie;
import com.tosee.model.dto.RechercheDto;

/**
 * Interface BP pour la gestion des séries
 * 
 * @author robint
 */
public interface ISerieBusinessProcess {

    /**
     * Methode qui liste les séries par nom
     * 
     * @param _recherche Le dto de recherche
     * @return List {@link AlloSerie>}
     * @throws GeneriqueException
     */
    List<AlloSerie> getSeriesByRechercheNom(RechercheDto _recherche) throws GeneriqueException;

    /**
     * Recuperation des infos de la série
     * 
     * @param _recherche Le dto de recherche
     * @return {@link AlloSerie}
     * @throws GeneriqueException
     */
    AlloSerie getInfoSerieByRechercheCode(RechercheDto _recherche) throws GeneriqueException;

    /**
     * Recuperation des infos de la saison
     * 
     * @param _recherche Le dto de recherche
     * @return {@link AlloSaison}
     * @throws GeneriqueException
     */
    AlloSaison getInfoSaisonByRechercheCode(RechercheDto _recherche);

    /**
     * Recuperation des infos de l'episode
     * 
     * @param _recherche Le dto de recherche
     * @return {@link AlloSaison}
     * @throws GeneriqueException
     */
    AlloEpisode getInfoEpisodeByRechercheCode(RechercheDto _recherche);

}
